package com.asset.dispoal.channel.service.converter;

import com.asset.dispoal.channel.domain.db.entity.SysChannel;
import com.asset.dispoal.channel.domain.db.entity.SysChannelDebt;
import com.asset.dispoal.channel.domain.db.entity.SysChannelOpen;
import com.asset.dispoal.channel.domain.db.entity.SysChannelPay;
import com.asset.dispoal.channel.dto.SysChannelDebtRequest;
import com.asset.dispoal.channel.dto.SysChannelDebtResponse;
import com.asset.dispoal.channel.dto.SysChannelOpenRequest;
import com.asset.dispoal.channel.dto.SysChannelOpenResponse;
import com.asset.dispoal.channel.dto.SysChannelPayRequest;
import com.asset.dispoal.channel.dto.SysChannelPayResponse;
import com.asset.dispoal.channel.dto.SysChannelRequest;
import com.asset.dispoal.channel.dto.SysChannelResponse;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author qr
 * @date 2022/3/25$
 */
@Mapper
public interface SysChannelConverter {

    SysChannelConverter INSTANCE = Mappers.getMapper(SysChannelConverter.class);

    SysChannel resToDo(SysChannelRequest request);

    SysChannelDebt resDebtToDo(SysChannelDebtRequest request);

    SysChannelOpen resOpenToDo(SysChannelOpenRequest request);

    SysChannelPay resPayToDo(SysChannelPayRequest request);

    List<SysChannelResponse> dosToRes(List<SysChannel> mapperList);

    List<SysChannelDebtResponse> dosDebtToRes(List<SysChannelDebt> mapperList);

    List<SysChannelOpenResponse> dosOpenToRes(List<SysChannelOpen> mapperList);

    List<SysChannelPayResponse> dosPayToRes(List<SysChannelPay> mapperList);
}
